<?php
include_once($URL_OBJETO.'conexion.php');
include_once($URL_OBJETO.'oVisitante.php');

class aVisitante  {
	
	public function getxCodigo($cod) {
		$lista = $this->getListaPorCriterio("cod_visitante = $cod");
		if(count($lista) > 0) 
			return $lista[0];
		else
			return false;
	}
	
	public function getVisitantes() {
		$lista = $this->getListaPorCriterio("");
		return $lista;
	}
	
	public function getNombrePorCodigo($cod) {
		$lista = $this->getListaPorCriterio("cod_visitante = $cod");
		if(count($lista) > 0)
			return $lista[0]->getApellidos()." ".$lista[0]->getNombres();
		else
			return "";
	}
	

	public function getListaPorCriterio($criterio) {
		$connect = new PG();
		if(!$connect->Conectar()) {
			exit($connect->VerError());
		}
		else {
			$sql = "SELECT 
				  cod_visitante,
				  cod_tipo_documento,
				  documento_identidad,
				  apellidos,
				  nombres,
				  profesion,
				  empresa,
				  email,
				  telefono
				FROM 
				  public.visitante ";
			
			
			if(!empty($criterio)) {
				$sql .= " WHERE ".$criterio;				
			}
	
			$lista = array();
			
			$sql = $connect->pgt_query($sql);
			while($row = pg_fetch_array($sql)){
				$o = new oVisitante();
				$o->setCodVisitante($row['cod_visitante']);
				$o->setCodTipoDocumento($row['cod_tipo_documento']);
				$o->setDocumentoIdentidad($row['documento_identidad']);
				$o->setApellidos($row['apellidos']);
				$o->setNombres($row['nombres']);
				$o->setProfesion($row['profesion']);
				$o->setEmpresa($row['empresa']);
				$o->setEmail($row['email']);
				$o->setTelefono($row['telefono']);
											
				
				array_push($lista, $o);
			}
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();
			return $lista;
		}
	}
	
	public function getCountPorCriterio($criterio) {
		$connect = new PG();
		if(!$connect->Conectar()) {
			exit($connect->VerError());
		}
		else {
			$sql = "SELECT count(*) FROM visitante v ";
			
			if(!empty($criterio)) {
				$sql .= "WHERE ".$criterio;
			}
	
			$lista = array();
				
			$sql = $connect->pgt_query($sql);
			$row = pg_fetch_array($sql);
			$contador = $row[0];
	
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();
	
			return $contador;
		}
	}
	
}